package com.heima.pojo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 售货机表实体类
 * 与数据库表 tb_vending_machine 映射，用于ORM操作
 */
@Data
@TableName("tb_vending_machine")
public class TbVendingMachine implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id，自增
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 售货机类型
     * 数据库字段：vm_type，非空，默认0
     */
    private Integer vmType;

    /**
     * 售货机软编号
     * 数据库字段：inner_code，默认'000'，唯一索引
     */
    private String innerCode;

    /**
     * 点位Id
     * 数据库字段：node_id，非空，外键关联
     */
    private Long nodeId;

    /**
     * 售货机状态，0:未投放;1-运营;3-撤机
     * 数据库字段：vm_status，非空，默认0
     */
    private Integer vmStatus;

    /**
     * 上次补货时间
     * 数据库字段：last_supply_time，非空，默认'2000-01-01 00:00:00'
     */
    private LocalDateTime lastSupplyTime;

    /**
     * 所在城市ID
     * 数据库字段：city_code，非空，默认'10'，索引
     */
    private String cityCode;

    /**
     * 区域id
     * 数据库字段：area_id，可为空
     */
    private Integer areaId;

    /**
     * 创建人id
     * 数据库字段：create_user_id，非空
     */
    private Long createUserId;

    /**
     * 创建人姓名
     * 数据库字段：create_user_name，可为空
     */
    private String createUserName;

    /**
     * 商圈Id
     * 数据库字段：business_id，非空
     */
    private Integer businessId;

    /**
     * 所属区域Id
     * 数据库字段：region_id，非空
     */
    private Long regionId;

    /**
     * 点位主Id
     * 数据库字段：owner_id，非空
     */
    private Integer ownerId;

    /**
     * 所属合作商名称
     * 数据库字段：owner_name，可为空
     */
    private String ownerName;

    /**
     * 客户端连接Id,做emq认证用
     * 数据库字段：client_id，可为空
     */
    private String clientId;

    /**
     * 经度
     * 数据库字段：longitudes，默认0
     */
    private Double longitudes;

    /**
     * 维度
     * 数据库字段：latitude，默认0
     */
    private Double latitude;

    /**
     * 创建时间
     * 数据库字段：create_time，非空
     */
    private LocalDateTime createTime;

    /**
     * 修改时间
     * 数据库字段：update_time，非空
     */
    private LocalDateTime updateTime;
}
    